package com.ruoyi.pay.manager.domain;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;

import com.entity.concat.ITimeEntity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.core.domain.Entity;

/**
 * 支付管理对象 mg_pay_manager
 * 
 * @author ruoyi
 * @date 2023-12-22
 */
public class PayManager implements ITimeEntity<Long> {
	/** 编号 */
	private Integer id;

	/** 搜索值 */
	@JsonIgnore
	private String searchValue;
	/**
	 * ids 数组
	 */
	private List<Long> ids;

	/** 订单标识 */
	@Excel(name = "订单编号")
	private String orderSnId;

	/** 用户id */
	@Excel(name = "用户ID")
	private Integer userId;

	@Excel(name = "姓名")
	private String realname;

	@Excel(name = "服务类型")
	private String serviceNames;

	@Excel(name = "下单时间")
	private Long createTime;

	/** 支付时间 */
//    @Excel(name = "下单时间")
	private Long payTime;

	/** 团队id 0 代表没有团队 */
//    @Excel(name = "团队id 0 代表没有团队")
	private Integer teamId;

	/** 总价 */
	@Excel(name = "订单金额")
	private BigDecimal priceSum;

	@Excel(name = "开票状态", readConverterExp = "0=未开票,1=审核中,2=已开票,3=未通过")
	private Byte translate;

	/** 支付类型编号 */
    @Excel(name = "支付方式", readConverterExp = "1=微信,2=支付宝,3=银行卡,4=预付款支付,5=公务卡支付,6=银行公账支付,7=公账+垫付")
	private String payType;

	/** -1：取消订单；0 待支付，1已支付，2，待确认 */
	@Excel(name = "支付状态", readConverterExp = "-1=取消订单,0=待支付,1=待确认,2=已支付")
	private Byte orderStatus;

	/** 发票状态[0=未开票. 1= 审核中, 2=已开票, 3=未通过] */
	private List<Integer> userIds;
	
	/**
	 * 0 隐藏 1 显示
	 */
	private Byte showPayStatus = 1;
	
	/**
	 * 服务名称
	 */


	/** 创建时间 */


	/** 更新时间 */
	private Long updateTime;

	/** 请求参数 */
	@JsonInclude(JsonInclude.Include.NON_EMPTY)
	private Map<String, Object> params;

	public Long getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Long createTime) {
		this.createTime = createTime;
	}

	public Long getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Long updateTime) {
		this.updateTime = updateTime;
	}

	public Map<String, Object> getParams() {
		if (params == null) {
			params = new HashMap<>();
		}
		return params;
	}

	public void setParams(Map<String, Object> params) {
		this.params = params;
	}

	public String getRealname() {
		return realname;
	}

	public String getSearchValue() {
		return searchValue;
	}

	public void setSearchValue(String searchValue) {
		this.searchValue = searchValue;
	}

	public void setRealname(String realname) {
		this.realname = realname;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getId() {
		return id;
	}

	public void setOrderSnId(String orderSnId) {
		this.orderSnId = orderSnId;
	}

	public String getOrderSnId() {
		return orderSnId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setTeamId(Integer teamId) {
		this.teamId = teamId;
	}

	public Integer getTeamId() {
		return teamId;
	}

	public void setPriceSum(BigDecimal priceSum) {
		this.priceSum = priceSum;
	}

	public BigDecimal getPriceSum() {
		return priceSum;
	}

	public void setOrderStatus(Byte orderStatus) {
		this.orderStatus = orderStatus;
	}

	public Byte getOrderStatus() {
		return orderStatus;
	}

	public void setTranslate(Byte translate) {
		this.translate = translate;
	}

	public Byte getTranslate() {
		return translate;
	}

	public void setPayType(String payType) {
		this.payType = payType;
	}

	public String getPayType() {
		return payType;
	}

	public void setPayTime(Long payTime) {
		this.payTime = payTime;
	}

	public Long getPayTime() {
		return payTime;
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", getId())
				.append("orderSnId", getOrderSnId()).append("userId", getUserId()).append("teamId", getTeamId())
				.append("priceSum", getPriceSum()).append("orderStatus", getOrderStatus())
				.append("translate", getTranslate()).append("payType", getPayType())
				.append("createTime", getCreateTime()).append("updateTime", getUpdateTime())
				.append("payTime", getPayTime()).toString();
	}

	public List<Integer> getUserIds() {
		return userIds;
	}

	public void setUserIds(List<Integer> userIds) {
		this.userIds = userIds;
	}

	public String getServiceNames() {
		return serviceNames;
	}

	public void setServiceNames(String serviceNames) {
		this.serviceNames = serviceNames;
	}

	public List<Long> getIds() {
		return ids;
	}

	public void setIds(List<Long> ids) {
		this.ids = ids;
	}

	public Byte getShowPayStatus() {
		return showPayStatus;
	}

	public void setShowPayStatus(Byte showPayStatus) {
		this.showPayStatus = showPayStatus;
	}

}
